﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web.Mvc;

namespace LogManager.Base.Data
{
    /// <summary>
    /// Repository to interact with the logs of a server
    /// </summary>
    public interface ILogService : IDisposable
    {
        /// <summary>
        /// Get all logs from repository
        /// </summary>
        IEnumerable<ILog> All();

        /// <summary>
        /// Get all logs with specified server
        /// </summary>
        /// <param name="serverName">Name of the server</param>
        /// <returns></returns>
        IEnumerable<ILog> All(string serverName);

        /// <summary>
        /// Get a log from the reopsitory
        /// </summary>
        /// <param name="serverName">Name of the server</param>
        /// <param name="logName">Unique id for the log</param>
        /// <returns>The log with the unique id</returns>
        ILog Get(string serverName, string logName);
    }
}